/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package br.edu.unipampa.recurso;

import br.edu.unipampa.cenario.Local;
import br.edu.unipampa.personagem.Mensageiro;
import br.edu.unipampa.personagem.Pessoa;

/**
 *
 * @author Rafael
 */
public class ArmaDeFogo extends ArmaDeAtaque{
    private boolean carregada;
    public ArmaDeFogo(String nome, int Dano){
        super(nome, Dano);
    }
    public String OpcoesItem(){
        return "1-Atirar 2-Recarregar";
    }
    public String atirar(Pessoa atirador, Pessoa alvo, ArmaDeAtaque armaUtilizada){
        int contador = 0;
        String retorno = "";
        if (carregada) {
            
        
        for (int i = 0; i < atirador.getItens().length; i++) {
           if((atirador.getItens()[i].getClass().getName().equalsIgnoreCase("br.edu.unipampa.recurso.Municao"))){
               if (atirador.getItens()[i].getQuantidade() != 0) {
                   atirador.getItens()[i].setQuantidade(atirador.getItens()[i].getQuantidade() - 1);
                   
                   retorno = "Você dispara sua arma e agora possui "+atirador.getItens()[i].getQuantidade()+" de munição";
                   atirador.atacar(atirador, alvo, armaUtilizada);
                   break;
                   
               }else{
                   retorno = "Você precisa recarregar sua arma primeiro";
                   break;
                   
               }
           }else{
           contador++;
           }
           }
        }else{
            retorno = "Você precisa recarregar sua arma primeiro";
        }
            if (contador == atirador.getItens().length) {
                retorno = "Você não tem munição";
            
        }
        
        return retorno;
    }
    public String UtilizaOpcao(int escolhaOpcao,Pessoa atirador, Pessoa alvo, ArmaDeAtaque armaUtilizada, Local localAtual){
        String mensagem = "";
        switch (escolhaOpcao){
            case 1:
                mensagem = atirar(atirador, alvo, armaUtilizada);
                break;
            case 2:
                mensagem = recarregar(atirador);
                break;
            
                
        }
        
        return mensagem;
    }

    /**
     * @return the carregada
     */
    public boolean isCarregada() {
        return carregada;
    }

    /**
     * @param carregada the carregada to set
     */
    public void setCarregada(boolean carregada) {
        this.carregada = carregada;
    }
    
    public String recarregar(Pessoa atirador){
        String retorno = "";
        if (carregada) {
            retorno = "Sua arma já está carregada";
            
        }else{
            for (int i = 0; i < atirador.getItens().length; i++) {
           if((atirador.getItens()[i].getClass().getName().equalsIgnoreCase("br.edu.unipampa.recurso.Municao"))){
               if (atirador.getItens()[i].getQuantidade() != 0) {
            retorno = "Você recarregou sua arma e agora pode dispará-la";
            carregada = true;
        }else{
                   retorno = "Você está sem munição";
               }
        
       
                
               
    }else{
               retorno = "Você não possui munição";
           }
           
    
}
        }
        
         return retorno;
    }
}

